package functions

import "fmt"

func square(n int) int {
	return n * n
}

func negative(n int) int {
	return -n
}

func product(m, n int) int {
	return m * n
}

func Func1() {
	f := square
	fmt.Println(f(3)) //是的，函数可以直接赋予

	f = negative
	fmt.Println(f(3)) //如果之前已经初始化过了，直接 = 即可

	//f = product //报错，因为之前赋值过了，f的入参和出餐个是固定了，所以只有入参和出餐一样才能赋予

	g := product //g没有初始化，所以就可以赋予
	fmt.Println(g(2, 3))
}
